home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / v cisle / hexer / mpth_17.exe / {app} / scripts / Checksums.mps < prev    next >
Text File  |  2006-05-20  |  1KB  |  49 lines

  1. include '*.lng'
  2. include 'def.mps'
  3. include 'checksums_file.mps'
  4.  
  5. = create crc16, crc32 and md5 checksum of the current file
  6.  
  7. = ensure a current file is available
  8. if currentfile==''
  9.   if PARAM_COUNT > 0
  10.     !cmd.fileopen PARAMS(0)
  11.   else
  12.     !cmd.fileopen
  13.   endif
  14.   if currentfile==''
  15.     end
  16.   endif
  17. endif
  18.  
  19. var fin file
  20. fin=fileopen('::current', 'r')
  21.  
  22. var fStart dword fCount dword
  23. fStart=0
  24. fCount=filesize(fin)
  25.  
  26. = check if a selection is available
  27.  
  28. if filegetprop(fin, 'selcount') != 0
  29.   var mb dword
  30.   mb = msgbox(__SELQ__, MB_ICONQUESTION or MB_YESNOCANCEL)
  31.   if mb == IDCANCEL: end:endif
  32.   if mb == IDYES
  33.     fStart = filegetprop(fin, 'selstart')
  34.     fCount = filegetprop(fin, 'selcount')
  35.   endif
  36. endif
  37. fileclose fin
  38.  
  39.  
  40. = call the checksum subroutines
  41. var msg text
  42.  
  43. concat msg (__SUM8S__+":\r\n  "+HEX(#filesum8('::current', fStart, fCount))+"\r\n\r\n")
  44. concat msg (__CRC16S__+":\r\n  "+#filecrc16('::current', fStart, fCount)+"\r\n\r\n")
  45. concat msg (__CRC32s__+":\r\n  "+#filecrc32('::current', fStart, fCount)+"\r\n\r\n")
  46. concat msg (__MD5S__+":\r\n  "+#filemd5('::current', fStart, fCount)+"\r\n\r\n")
  47. textbox msg, __CSUMS__
  48.  
  49.